Expose _gdk_window_process_updates_recurse for backends
authorRichard Hult <richard@imendio.com>
Mon, 26 Jan 2009 18:12:54 +0000 (19:12 +0100)
committerAlexander Larsson <alex@localhost.localdomain>
Thu, 2 Apr 2009 08:15:27 +0000 (10:15 +0200)
We use this in the added windowing function
_gdk_windowing_window_process_updates_recurse. The X11 implementation
just calls _gdk_window_process_updates_recurse directly, but at least
quartz will need to do some more work.

gdk/gdkinternals.h
gdk/gdkwindow.c
gdk/x11/gdkwindow-x11.c

index 1402fdfdd5930177670b5a351d5d9398f5d2ddaa..a682d596b8919b0c434c7ee0f6e647e466c2a396 100644 (file)
@@ -287,6 +287,9 @@ void       _gdk_window_destroy           (GdkWindow      *window,
 void       _gdk_window_clear_update_area (GdkWindow      *window);
 void       _gdk_window_update_size       (GdkWindow      *window);
 
+void       _gdk_window_process_updates_recurse (GdkWindow *window,
+                                                GdkRegion *expose_region);
+
 void       _gdk_screen_close             (GdkScreen      *screen);
 
 const char *_gdk_get_sm_client_id (void);
@@ -361,6 +364,8 @@ void _gdk_windowing_got_event                (GdkDisplay       *display,
                                              GdkEvent         *event,
                                              gulong            serial);
 
+void _gdk_windowing_window_process_updates_recurse (GdkWindow *window,
+                                                    GdkRegion *expose_region);
 
 /* Return the number of bits-per-pixel for images of the specified depth. */
 gint _gdk_windowing_get_bits_for_depth (GdkDisplay *display,
index 3db2f6cb852bc27eb2a882d1c76b404379948c56..8e75c0ac46dc8a47d92e1e9f1d21e6bcd8798946 100644 (file)
@@ -4352,9 +4352,9 @@ gdk_window_schedule_update (GdkWindow *window)
     }
 }
 
-static void
-gdk_window_process_updates_recurse (GdkWindow *window,
-                                   GdkRegion *expose_region)
+void
+_gdk_window_process_updates_recurse (GdkWindow *window,
+                                     GdkRegion *expose_region)
 {
   GdkWindowObject *private = (GdkWindowObject *)window;
   GdkWindowObject *child;
@@ -4393,7 +4393,7 @@ gdk_window_process_updates_recurse (GdkWindow *window,
          gdk_region_intersect (child_region, expose_region);
          gdk_region_subtract (expose_region, child_region);
          gdk_region_offset (child_region, -child->x, -child->y);
-         gdk_window_process_updates_recurse ((GdkWindow *)child, child_region);
+         _gdk_window_process_updates_recurse ((GdkWindow *)child, child_region);
        }
       else 
        {
@@ -4472,7 +4472,7 @@ gdk_window_process_updates_internal (GdkWindow *window)
 
          gdk_region_get_clipbox (expose_region, &clip_box);
          end_implicit = gdk_window_begin_implicit_paint (window, &clip_box);
-         gdk_window_process_updates_recurse (window, expose_region);
+         _gdk_windowing_window_process_updates_recurse (window, expose_region);
          if (end_implicit)
            gdk_window_end_implicit_paint (window);
          
index 685e72fb920a85f7d815dc67c5939692e3626a90..efb8a2c74ace2fab43bea644a81ed6e68b8cecc4 100644 (file)
@@ -5512,6 +5512,13 @@ _gdk_windowing_window_set_composited (GdkWindow *window,
 #endif
 }
 
+void
+_gdk_windowing_window_process_updates_recurse (GdkWindow *window,
+                                               GdkRegion *region)
+{
+  _gdk_window_process_updates_recurse (window, expose_region);
+}
+
 static void
 gdk_window_impl_iface_init (GdkWindowImplIface *iface)
 {